Make a species list for a Local Government Area (LGA)

Knowing what species have been observed in a local area is an important, regular task for ecosystem management and environmental impact assessment. Here we show how to use galah-python to make a species list using layers available in galah-python or using a shapefile, and how to cross-reference this list with threatened species lists determine if threatened species are in your LGA.

Eukaryota
Animalia
Chordata
Anura
Maps
Authors

Amanda Buyan

Dax Kellie

Published

December 1, 2023

Author

Amanda Buyan
Dax Kellie

Date

1 December 2023

Knowing what species inhabit an area is important for conservation and ecosystem management. It is also useful to know how common or rare each species might be.

To accomplish this, species lists are a frequent tool to assess what species are in a given area for monitoring and environmental impact assessments. Often, these lists are asked to be produced for specific regions like Local Government Areas (LGAs) or specific monitoring locations within a region.

In this post, we show how to use galah-python and geopandas to generate a species list for an Local Government Area—the Yass Valley—over the past year.

Make a species list

There are two ways to narrow a query to return information for a specific region:

  • Using fields available in galah-python (downloaded from the ALA)
  • Using a shapefile

The method you choose depends on whether the region you wish to return species for is already within galah-python, or whether you require a list for a more specific area defined by a shapefile.

Let’s go through each of the methods in turn to return a list of species in the Yass Valley in 2023.

First, let’s import galah.

import galah

galah-python fields

Search for fields

Let’s find which fields and layers exist within galah-python for us to use to narrow our query to a specific LGA region and year.

We can use the search_all() function to search for many types of information in galah-python. Let’s use it to look up what fields contain the word “year”. Our search returns several options, though the best option seems to be field id "year".

galah.search_all(fields="year")
                    id                                        description   type                                               link
0                 year  The year in which an occurrence was observed. ...  field  https://github.com/AtlasOfLivingAustralia/ala-...
1         endDayOfYear          http://rs.tdwg.org/dwc/terms/endDayOfYear  field                                                NaN
2        datePrecision  The precision of the date information for the ...  field                                                NaN
3       occurrenceYear  Year ranges for a search. Calculated based on ...  field                                                NaN
4       startDayOfYear        http://rs.tdwg.org/dwc/terms/startDayOfYear  field                                                NaN
5  namePublishedInYear   http://rs.tdwg.org/dwc/terms/namePublishedInYear  field                                                NaN

If we want to double check whether a given field contains information we are interested in, we can use the show_values() to see what categories a specified field contains.

galah.show_values(field="year")
    field category
0    year     2022
1    year     2021
2    year     2020
3    year     2019
4    year     2018
..    ...      ...
279  year     1755
280  year     1756
281  year     1762
282  year     1763
283  year     1764

[284 rows x 2 columns]

Now let’s use the same process to find whether any fields contain spatial data of Local Government Areas.

galah.search_all(fields="Local Government Areas")
        id                                        description    type link
0     cl23  Local Government Areas 2012 deprecated LGA Bou...  layers     
1    cl959  Local Government Areas 2011 Local Government A...  layers     
2   cl2012  NSW Local Land Services Regions NSW Local Land...  layers     
3  cl10923  Local Government Areas PSMA 2018 Local Governm...  layers     

There are several options, though cl10923 seems to be contain the most recent data (from 2018). Let’s check what this field contains.

galah.show_values(field="cl10923")
       field                      category
0    cl10923                 BRISBANE CITY
1    cl10923          EAST GIPPSLAND SHIRE
2    cl10923          GREATER GEELONG CITY
3    cl10923  PASTORAL UNINCORPORATED AREA
4    cl10923          MORETON BAY REGIONAL
..       ...                           ...
555  cl10923                  WAGAIT SHIRE
556  cl10923   WOORABINDA ABORIGINAL SHIRE
557  cl10923  WUJAL WUJAL ABORIGINAL SHIRE
558  cl10923    CHERBOURG ABORIGINAL SHIRE
559  cl10923                 BELYUEN SHIRE

[560 rows x 2 columns]

Since there are so many values in this layer, we can check whether it contains Yass Valley specifically with search_values().

galah.search_values(field="cl10923", value = "YASS VALLEY")
     field             category
0  cl10923  YASS VALLEY COUNCIL
Note

Each spatial layer has a two letter code, along with a number to identify it. The abbreviations are as follows:

  • cl = contextual layer (i.e. boundaries of LGAs, Indigenous Protected Areas, States/Territories etc.)
  • 10923 = number associated with the spatial layer in the atlas

Make species list

Now we can use the year and cl10923 fields to build a query to get a list of species that were observed in Yass Valley over 2023. We can use atlas_species() to return a species list, and use the filters argument to narrow our query.

galah.atlas_species(filters=["year=2023","cl10923=YASS VALLEY COUNCIL"])
                                               Species                       Species Name Scientific Name Authorship Taxon Rank   Kingdom      Phylum          Class           Order        Family        Genus               Vernacular Name
0    https://biodiversity.org.au/afd/taxa/5291343e-...                 Gymnorhina tibicen             (Latham, 1801)    species  Animalia    Chordata           Aves   Passeriformes     Artamidae   Gymnorhina             Australian Magpie
1    https://biodiversity.org.au/afd/taxa/97a59c84-...    Rhipidura (Rhipidura) albiscapa                Gould, 1840    species  Animalia    Chordata           Aves   Passeriformes  Rhipiduridae    Rhipidura                  Grey Fantail
2    https://biodiversity.org.au/afd/taxa/760401df-...          Malurus (Malurus) cyaneus              (Ellis, 1782)    species  Animalia    Chordata           Aves   Passeriformes     Maluridae      Malurus             Superb Fairy-wren
3    https://biodiversity.org.au/afd/taxa/2c33a1fd-...         Cacatua (Cacatua) galerita             (Latham, 1790)    species  Animalia    Chordata           Aves  Psittaciformes    Cacatuidae      Cacatua      Sulphur-crested Cockatoo
4    https://biodiversity.org.au/afd/taxa/5e0f496f-...  Platycercus (Platycercus) elegans             (Gmelin, 1788)    species  Animalia    Chordata           Aves  Psittaciformes   Psittacidae  Platycercus               Crimson Rosella
..                                                 ...                                ...                        ...        ...       ...         ...            ...             ...           ...          ...                           ...
736  https://id.biodiversity.org.au/taxon/apni/5141...                Pterostylis jonesii                 G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                           NaN
737  https://id.biodiversity.org.au/taxon/apni/5141...             Pterostylis multiflora     (D.L.Jones) G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis  Mountain Brown-tip Greenhood
738  https://id.biodiversity.org.au/taxon/apni/5141...            Pterostylis pedunculata                      R.Br.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                    Maroonhood
739  https://id.biodiversity.org.au/taxon/apni/5141...                Thelymitra ixioides                        Sw.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae   Thelymitra             Dotted Sun Orchid
740  https://id.biodiversity.org.au/taxon/ausmoss/1...                 Thuidiopsis sparsa  (Hook.f. & Wilson) Broth.    species   Plantae   Bryophyta      Bryopsida        Hypnales   Thuidiaceae  Thuidiopsis                           NaN

[741 rows x 11 columns]

To add the observation count for each species, add counts=True.

species_yass = galah.atlas_species(filters=["year=2023","cl10923=YASS VALLEY COUNCIL"],counts=True)
species_yass
                                               Species                       Species Name Scientific Name Authorship Taxon Rank   Kingdom      Phylum          Class           Order        Family        Genus               Vernacular Name  Number of records
0    https://biodiversity.org.au/afd/taxa/5291343e-...                 Gymnorhina tibicen             (Latham, 1801)    species  Animalia    Chordata           Aves   Passeriformes     Artamidae   Gymnorhina             Australian Magpie                331
1    https://biodiversity.org.au/afd/taxa/97a59c84-...    Rhipidura (Rhipidura) albiscapa                Gould, 1840    species  Animalia    Chordata           Aves   Passeriformes  Rhipiduridae    Rhipidura                  Grey Fantail                250
2    https://biodiversity.org.au/afd/taxa/760401df-...          Malurus (Malurus) cyaneus              (Ellis, 1782)    species  Animalia    Chordata           Aves   Passeriformes     Maluridae      Malurus             Superb Fairy-wren                247
3    https://biodiversity.org.au/afd/taxa/2c33a1fd-...         Cacatua (Cacatua) galerita             (Latham, 1790)    species  Animalia    Chordata           Aves  Psittaciformes    Cacatuidae      Cacatua      Sulphur-crested Cockatoo                237
4    https://biodiversity.org.au/afd/taxa/5e0f496f-...  Platycercus (Platycercus) elegans             (Gmelin, 1788)    species  Animalia    Chordata           Aves  Psittaciformes   Psittacidae  Platycercus               Crimson Rosella                201
..                                                 ...                                ...                        ...        ...       ...         ...            ...             ...           ...          ...                           ...                ...
736  https://id.biodiversity.org.au/taxon/apni/5141...                Pterostylis jonesii                 G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                           NaN                  1
737  https://id.biodiversity.org.au/taxon/apni/5141...             Pterostylis multiflora     (D.L.Jones) G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis  Mountain Brown-tip Greenhood                  1
738  https://id.biodiversity.org.au/taxon/apni/5141...            Pterostylis pedunculata                      R.Br.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                    Maroonhood                  1
739  https://id.biodiversity.org.au/taxon/apni/5141...                Thelymitra ixioides                        Sw.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae   Thelymitra             Dotted Sun Orchid                  1
740  https://id.biodiversity.org.au/taxon/ausmoss/1...                 Thuidiopsis sparsa  (Hook.f. & Wilson) Broth.    species   Plantae   Bryophyta      Bryopsida        Hypnales   Thuidiaceae  Thuidiopsis                           NaN                  1

[741 rows x 12 columns]

To save this species list as a csv, we can use to_csv() from the pandas dataframe package.

species_yass.to_csv("Species_List_Yass_Valley_Counts_ALA_Spatial_Filter.csv")

Shapefile

Let’s download the latest Local Government Areas data from the Australian Bureau of Statistics Digital Boundary files page. Find “Local Government Areas - 2023 - Shapefile” and click “Download ZIP”. Save the zip folder in your current directory and unzip it.

We’ll use read_file() from geopandas to load our shapefile.

import geopandas as gpd
LGAs_2023 = gpd.read_file("LGA_2023_AUST_GDA2020.shp")
LGAs_2023
    LGA_CODE23                             LGA_NAME23 STE_CODE21                    STE_NAME21 AUS_CODE21         AUS_NAME21    AREASQKM                                         LOCI_URI21                                           geometry
0        10050                                 Albury          1               New South Wales        AUS          Australia    305.6386  https://linked.data.gov.au/dataset/asgsed3/LGA...  POLYGON ((146.86566 -36.07292, 146.86512 -36.0...
1        10180                               Armidale          1               New South Wales        AUS          Australia   7809.4406  https://linked.data.gov.au/dataset/asgsed3/LGA...  POLYGON ((152.38816 -30.52639, 152.38812 -30.5...
2        10250                                Ballina          1               New South Wales        AUS          Australia    484.9692  https://linked.data.gov.au/dataset/asgsed3/LGA...  MULTIPOLYGON (((153.57106 -28.87381, 153.57106...
3        10300                              Balranald          1               New South Wales        AUS          Australia  21690.7493  https://linked.data.gov.au/dataset/asgsed3/LGA...  POLYGON ((143.00433 -33.78164, 143.01538 -33.7...
4        10470                               Bathurst          1               New South Wales        AUS          Australia   3817.8645  https://linked.data.gov.au/dataset/asgsed3/LGA...  POLYGON ((149.84877 -33.52784, 149.84864 -33.5...
..         ...                                    ...        ...                           ...        ...                ...         ...                                                ...                                                ...
561      89799  Migratory - Offshore - Shipping (ACT)          8  Australian Capital Territory        AUS          Australia         NaN  https://linked.data.gov.au/dataset/asgsed3/LGA...                                               None
562      99399            Unincorp. Other Territories          9             Other Territories        AUS          Australia    105.8806  https://linked.data.gov.au/dataset/asgsed3/LGA...  MULTIPOLYGON (((167.94747 -29.12757, 167.94748...
563      99499                  No usual address (OT)          9             Other Territories        AUS          Australia         NaN  https://linked.data.gov.au/dataset/asgsed3/LGA...                                               None
564      99799   Migratory - Offshore - Shipping (OT)          9             Other Territories        AUS          Australia         NaN  https://linked.data.gov.au/dataset/asgsed3/LGA...                                               None
565      ZZZZZ                      Outside Australia          Z             Outside Australia        ZZZ  Outside Australia         NaN  https://linked.data.gov.au/dataset/asgsed3/LGA...                                               None

[566 rows x 9 columns]

Now let’s set Coordinate Reference System (CRS) of our shapefile. A CRS is a method of representing coordinates of the spherical earth onto a flat, two-dimensional map. ALA observations are projected using WGS84 (the standard used in cartography and GPS), also known as EPSG:4326.

geopandas has a handy CRS-setting function, to_crs().

LGAs_2023 = LGAs_2023.to_crs(4326)
LGAs_2023.plot(edgecolor = "#5A5A5A", linewidth = 0.5, facecolor = "white", figsize = (12,5))

We’ll filter our shapefile to only Yass Valley. The column LGA_NAME23 appears to contain names we can use to filter our Dataframe, and the column geometry contains information to draw our LGA shape. We can filter to return only the row its LGA_NAME23 equal to Yass Valley.

LGAs_2023[LGAs_2023['LGA_NAME23'] == "Yass Valley"]
    LGA_CODE23   LGA_NAME23 STE_CODE21       STE_NAME21 AUS_CODE21 AUS_NAME21  AREASQKM                                         LOCI_URI21                                           geometry
127      18710  Yass Valley          1  New South Wales        AUS  Australia  3995.017  https://linked.data.gov.au/dataset/asgsed3/LGA...  POLYGON ((148.58152 -34.80679, 148.58153 -34.8...

We can select the geometry itself by doing two things. The first is selecting only the geometry column by adding its name within brackets ([]) at end of the dataframe.

yass_valley = LGAs_2023[LGAs_2023['LGA_NAME23'] == "Yass Valley"]["geometry"]
yass_valley
127    POLYGON ((148.58152 -34.80679, 148.58153 -34.8...
Name: geometry, dtype: geometry

The second thing is choosing the shape file itself. To do this we need to specify the row number that the yass valley geometry occurs. From the codeblock above, we see that it is row 127. To specify the row number, we need to add 127 in brackets at the end of our selection.

yass_valley_geometry = LGAs_2023[LGAs_2023['LGA_NAME23'] == "Yass Valley"]["geometry"][127]
yass_valley_geometry
<POLYGON ((148.582 -34.807, 148.582 -34.807, 148.582 -34.806, 148.581 -34.80...>

Now that we have the polygon itself stored as yass_valley_geometry, all we need to do is pass it to the polygon argument of atlas_species().

galah.atlas_species(polygon=yass_valley_geometry)
                                                Species                Species Name Scientific Name Authorship Taxon Rank   Kingdom      Phylum            Class           Order           Family          Genus           Vernacular Name
0     https://biodiversity.org.au/afd/taxa/b6f829dd-...            Wallabia bicolor          (Desmarest, 1804)    species  Animalia    Chordata         Mammalia   Diprotodontia     Macropodidae       Wallabia             Swamp Wallaby
1     https://biodiversity.org.au/afd/taxa/5291343e-...          Gymnorhina tibicen             (Latham, 1801)    species  Animalia    Chordata             Aves   Passeriformes        Artamidae     Gymnorhina         Australian Magpie
2     https://biodiversity.org.au/afd/taxa/760401df-...   Malurus (Malurus) cyaneus              (Ellis, 1782)    species  Animalia    Chordata             Aves   Passeriformes        Maluridae        Malurus         Superb Fairy-wren
3     https://biodiversity.org.au/afd/taxa/2c33a1fd-...  Cacatua (Cacatua) galerita             (Latham, 1790)    species  Animalia    Chordata             Aves  Psittaciformes       Cacatuidae        Cacatua  Sulphur-crested Cockatoo
4     https://biodiversity.org.au/afd/taxa/9b4ad548-...       Eolophus roseicapilla           (Vieillot, 1817)    species  Animalia    Chordata             Aves  Psittaciformes       Cacatuidae       Eolophus                     Galah
...                                                 ...                         ...                        ...        ...       ...         ...              ...             ...              ...            ...                       ...
4084  https://id.biodiversity.org.au/taxon/lichen/30...        Septotrapelia usnica   (Sipman) Kalb & Bungartz    species     Fungi  Ascomycota  Lecanoromycetes     Lecanorales    Pilocarpaceae  Septotrapelia                       NaN
4085  https://id.biodiversity.org.au/taxon/lichen/30...         Caloplaca lateritia           (Taylor) Zahlbr.    species     Fungi  Ascomycota  Lecanoromycetes  Teloschistales  Teloschistaceae      Caloplaca                       NaN
4086  https://id.biodiversity.org.au/taxon/lichen/30...      Rhizocarpon intersitum                     Arnold    species     Fungi  Ascomycota  Lecanoromycetes     Lecanorales   Rhizocarpaceae    Rhizocarpon                       NaN
4087  https://id.biodiversity.org.au/taxon/lichen/30...       Amandinea hypohyalina        Elix & P.M.McCarthy    species     Fungi  Ascomycota  Lecanoromycetes  Teloschistales      Physciaceae      Amandinea                       NaN
4088  https://id.biodiversity.org.au/taxon/lichen/30...     Sarcogyne molongloensis        P.M.McCarthy & Elix    species     Fungi  Ascomycota  Lecanoromycetes   Acarosporales   Acarosporaceae      Sarcogyne                       NaN

[4089 rows x 11 columns]

We can also narrow our query to only 2023 observations by adding year to filters.

galah.atlas_species(polygon=yass_valley_geometry,filters="year=2023")
                                               Species                       Species Name Scientific Name Authorship Taxon Rank   Kingdom      Phylum          Class           Order        Family        Genus               Vernacular Name
0    https://biodiversity.org.au/afd/taxa/5291343e-...                 Gymnorhina tibicen             (Latham, 1801)    species  Animalia    Chordata           Aves   Passeriformes     Artamidae   Gymnorhina             Australian Magpie
1    https://biodiversity.org.au/afd/taxa/760401df-...          Malurus (Malurus) cyaneus              (Ellis, 1782)    species  Animalia    Chordata           Aves   Passeriformes     Maluridae      Malurus             Superb Fairy-wren
2    https://biodiversity.org.au/afd/taxa/2c33a1fd-...         Cacatua (Cacatua) galerita             (Latham, 1790)    species  Animalia    Chordata           Aves  Psittaciformes    Cacatuidae      Cacatua      Sulphur-crested Cockatoo
3    https://biodiversity.org.au/afd/taxa/97a59c84-...    Rhipidura (Rhipidura) albiscapa                Gould, 1840    species  Animalia    Chordata           Aves   Passeriformes  Rhipiduridae    Rhipidura                  Grey Fantail
4    https://biodiversity.org.au/afd/taxa/5e0f496f-...  Platycercus (Platycercus) elegans             (Gmelin, 1788)    species  Animalia    Chordata           Aves  Psittaciformes   Psittacidae  Platycercus               Crimson Rosella
..                                                 ...                                ...                        ...        ...       ...         ...            ...             ...           ...          ...                           ...
792  https://id.biodiversity.org.au/taxon/apni/5141...                Pterostylis jonesii                 G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                           NaN
793  https://id.biodiversity.org.au/taxon/apni/5141...             Pterostylis multiflora     (D.L.Jones) G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis  Mountain Brown-tip Greenhood
794  https://id.biodiversity.org.au/taxon/apni/5141...            Pterostylis pedunculata                      R.Br.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                    Maroonhood
795  https://id.biodiversity.org.au/taxon/apni/5141...                Thelymitra ixioides                        Sw.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae   Thelymitra             Dotted Sun Orchid
796  https://id.biodiversity.org.au/taxon/ausmoss/1...                 Thuidiopsis sparsa  (Hook.f. & Wilson) Broth.    species   Plantae   Bryophyta      Bryopsida        Hypnales   Thuidiaceae  Thuidiopsis                           NaN

[797 rows x 11 columns]

To add the observation count for each species, add counts=True.

species_yass = galah.atlas_species(polygon=yass_valley_geometry,filters="year=2023",counts=True)
species_yass
                                               Species                       Species Name Scientific Name Authorship Taxon Rank   Kingdom      Phylum          Class           Order        Family        Genus               Vernacular Name  Number of records
0    https://biodiversity.org.au/afd/taxa/5291343e-...                 Gymnorhina tibicen             (Latham, 1801)    species  Animalia    Chordata           Aves   Passeriformes     Artamidae   Gymnorhina             Australian Magpie                437
1    https://biodiversity.org.au/afd/taxa/760401df-...          Malurus (Malurus) cyaneus              (Ellis, 1782)    species  Animalia    Chordata           Aves   Passeriformes     Maluridae      Malurus             Superb Fairy-wren                355
2    https://biodiversity.org.au/afd/taxa/2c33a1fd-...         Cacatua (Cacatua) galerita             (Latham, 1790)    species  Animalia    Chordata           Aves  Psittaciformes    Cacatuidae      Cacatua      Sulphur-crested Cockatoo                302
3    https://biodiversity.org.au/afd/taxa/97a59c84-...    Rhipidura (Rhipidura) albiscapa                Gould, 1840    species  Animalia    Chordata           Aves   Passeriformes  Rhipiduridae    Rhipidura                  Grey Fantail                293
4    https://biodiversity.org.au/afd/taxa/5e0f496f-...  Platycercus (Platycercus) elegans             (Gmelin, 1788)    species  Animalia    Chordata           Aves  Psittaciformes   Psittacidae  Platycercus               Crimson Rosella                254
..                                                 ...                                ...                        ...        ...       ...         ...            ...             ...           ...          ...                           ...                ...
792  https://id.biodiversity.org.au/taxon/apni/5141...                Pterostylis jonesii                 G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                           NaN                  1
793  https://id.biodiversity.org.au/taxon/apni/5141...             Pterostylis multiflora     (D.L.Jones) G.N.Backh.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis  Mountain Brown-tip Greenhood                  1
794  https://id.biodiversity.org.au/taxon/apni/5141...            Pterostylis pedunculata                      R.Br.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae  Pterostylis                    Maroonhood                  1
795  https://id.biodiversity.org.au/taxon/apni/5141...                Thelymitra ixioides                        Sw.    species   Plantae  Charophyta  Equisetopsida     Asparagales   Orchidaceae   Thelymitra             Dotted Sun Orchid                  1
796  https://id.biodiversity.org.au/taxon/ausmoss/1...                 Thuidiopsis sparsa  (Hook.f. & Wilson) Broth.    species   Plantae   Bryophyta      Bryopsida        Hypnales   Thuidiaceae  Thuidiopsis                           NaN                  1

[797 rows x 12 columns]

To save this species list as a csv, we can use to_csv() from the pandas dataframe package.

species_yass.to_csv("Species_List_Yass_Valley_Counts_ALA_Spatial_Filter.csv")

Use threatened species list

Often, it’s useful to know what species in a given location are threatened or sensitive species. The ALA contains many lists, including national and regional threatened species lists, so it’s possible to use galah-python to find which species are threatened or sensitive to extinction risk.

Let’s use search_all() again, this time using the lists option with the text New South Wales to return only the lists available in the ALA that reference New South Wales, along with their listType and other helpful.

galah.search_all(lists="New South Wales")
  dataResourceUid                                listName           listType           dateCreated           lastUpdated          lastUploaded           lastMatched                   username fullName  itemCount           region category generalisation authority       sdsType  isAuthoritative  isInvasive  isThreatened looseSearch   wkt
0           dr650   New South Wales : Conservation Status  CONSERVATION_LIST  2015-04-04T13:00:00Z  2023-06-07T23:12:20Z  2023-06-07T23:12:20Z  2023-06-07T23:12:20Z  rosemary.oconnor@csiro.au     None       1026  New South Wales     None           None      None          None             True       False          True        None  None
1           dr487  New South Wales Sensitive Species List     SENSITIVE_LIST  2013-06-20T14:00:00Z  2023-08-30T01:54:47Z  2023-08-30T01:54:46Z  2023-08-30T01:54:46Z  rosemary.oconnor@csiro.au     None        203              NSW                           NSW OEH  CONSERVATION             True       False         False        None      

If you scroll to the right in the table and look for the column listType. Here, we can see the “New South Wales : Conservation Status” list is a CONSERVATION_LIST, while the “New South Wales Sensitive Species List” list is a SENSITIVE_LIST. We can confirm this by looking at the columns isAuthoritative and isThreatened. In these columns we can see that the “New South Wales : Conservation Status” list is both authoritative and a list of threatened species, while the “New South Wales Sensitive Species List” list is authoritative, but isn’t a list of threatened species. Since we are searching for only threatened species in our example, we will use the “New South Wales : Conservation Status” list, which has an id of dr650.

To narrow a query to species on a species list (despite the column name of the lists reading dataResourceUid), use the field species_list_uid to supply the species list id of our desired list to the filters argument.

galah.atlas_species(polygon=yass_valley_geometry,filters=["year=2023","species_list_uid=dr650"],counts=True)
                                              Species                           Species Name Scientific Name Authorship Taxon Rank   Kingdom      Phylum          Class            Order           Family          Genus           Vernacular Name  Number of records
0   https://biodiversity.org.au/afd/taxa/a3e5376b-...            Petroica (Petroica) boodang             (Lesson, 1838)    species  Animalia    Chordata           Aves    Passeriformes      Petroicidae       Petroica             Scarlet Robin                 32
1   https://biodiversity.org.au/afd/taxa/6c646af8-...               Callocephalon fimbriatum              (Grant, 1803)    species  Animalia    Chordata           Aves   Psittaciformes       Cacatuidae  Callocephalon        Gang-gang Cockatoo                 28
2   https://biodiversity.org.au/afd/taxa/6e872b58-...  Stagonopleura (Stagonopleura) guttata               (Shaw, 1796)    species  Animalia    Chordata           Aves    Passeriformes      Estrildidae  Stagonopleura          Diamond Firetail                 19
3   https://biodiversity.org.au/afd/taxa/b47a4ecd-...    Hieraaetus (Hieraaetus) morphnoides              (Gould, 1841)    species  Animalia    Chordata           Aves  Accipitriformes     Accipitridae     Hieraaetus              Little Eagle                 12
4   https://biodiversity.org.au/afd/taxa/fe74e658-...          Petroica (Littlera) phoenicea                Gould, 1837    species  Animalia    Chordata           Aves    Passeriformes      Petroicidae       Petroica               Flame Robin                 12
5   https://biodiversity.org.au/afd/taxa/8bf4b8b0-...   Daphoenositta (Neositta) chrysoptera             (Latham, 1801)    species  Animalia    Chordata           Aves    Passeriformes      Neosittidae  Daphoenositta           Varied Sittella                 11
6   https://biodiversity.org.au/afd/taxa/46fca72f-...                   Polytelis swainsonii          (Desmarest, 1826)    species  Animalia    Chordata           Aves   Psittaciformes      Psittacidae      Polytelis             Superb Parrot                  5
7   https://biodiversity.org.au/afd/taxa/d1c5dee0-...            Ninox (Rhabdoglaux) strenua              (Gould, 1838)    species  Animalia    Chordata           Aves     Strigiformes        Strigidae          Ninox              Powerful Owl                  5
8    https://id.biodiversity.org.au/node/apni/2910323                 Ammobium craspedioides                     Benth.    species   Plantae  Charophyta  Equisetopsida        Asterales       Asteraceae       Ammobium                Yass Daisy                  5
9   https://biodiversity.org.au/afd/taxa/2063bf6d-...        Pachycephala (Timixos) olivacea   Vigors & Horsfield, 1827    species  Animalia    Chordata           Aves    Passeriformes  Pachycephalidae   Pachycephala            Olive Whistler                  2
10  https://biodiversity.org.au/afd/taxa/c95af018-...      Epthianura (Epthianura) albifrons    (Jardine & Selby, 1828)    species  Animalia    Chordata           Aves    Passeriformes     Meliphagidae     Epthianura        White-fronted Chat                  2
11  https://biodiversity.org.au/afd/taxa/0d74fa05-...                  Aprasia parapulchella                Kluge, 1974    species  Animalia    Chordata       Reptilia         Squamata      Pygopodidae        Aprasia   Pink-tailed Worm-lizard                  1
12  https://biodiversity.org.au/afd/taxa/32f9229c-...                       Oxyura australis                Gould, 1837    species  Animalia    Chordata           Aves     Anseriformes         Anatidae         Oxyura          Blue-billed Duck                  1
13  https://biodiversity.org.au/afd/taxa/5557cf29-...                     Litoria verreauxii           (Duméril, 1853)    species  Animalia    Chordata       Amphibia            Anura          Hylidae        Litoria           Verreaux's Frog                  1
14  https://biodiversity.org.au/afd/taxa/a51dca29-...                          Synemon plana               Walker, 1854    species  Animalia  Arthropoda        Insecta      Lepidoptera       Castniidae        Synemon           Golden Sun Moth                  1
15  https://biodiversity.org.au/afd/taxa/dc420306-...    Haliaeetus (Pontoaetus) leucogaster             (Gmelin, 1788)    species  Animalia    Chordata           Aves  Accipitriformes     Accipitridae     Haliaeetus   White-bellied Sea-eagle                  1
16  https://biodiversity.org.au/afd/taxa/e9d6fbbd-...                 Phascolarctos cinereus           (Goldfuss, 1817)    species  Animalia    Chordata       Mammalia    Diprotodontia  Phascolarctidae  Phascolarctos                     Koala                  1
17  https://id.biodiversity.org.au/taxon/apni/5128...                  Leucochrysum albicans    (A.Cunn.) Paul G.Wilson    species   Plantae  Charophyta  Equisetopsida        Asterales       Asteraceae   Leucochrysum                       NaN                  1
18  https://id.biodiversity.org.au/taxon/apni/5129...                     Eucalyptus radiata              Sieber ex DC.    species   Plantae  Charophyta  Equisetopsida         Myrtales        Myrtaceae     Eucalyptus  Narrow-leaved Peppermint                  1

To save this species list as a csv, we can use to_csv() from the pandas dataframe package.

threatened_species_yass.to_csv("Threatened_Species_List_Yass_Valley_Counts_ALA_Spatial_Filter.csv")
Note

Each data resource has a two letter code, along with a number to identify it. The abbreviations are as follows:

  • dr = data resource
  • 650 = number associated with the data resource in the atlas

Final thoughts

We hope this post has showed you a direct way make a species list using multiple methods with spatial layers, and understand how to determine if any threatened or sensitive species are in your area.

For other Python posts, check out How to make a map in less than 5 minutes, or a more advanced version, how to map invasive species.

To request more posts like this, or to ask further questions, feel free to email us.

Expand for session info
-----
galah               0.7.0
geopandas           0.13.2
natsort             8.4.0
pandas              2.0.3
session_info        1.0.0
shapely             2.0.1
-----
Python 3.9.16 | packaged by conda-forge | (main, Feb  1 2023, 21:40:25) [Clang 14.0.6 ]
macOS-13.5.2-arm64-arm-64bit
-----
Session information updated at 2023-11-29 13:00